#pragma once

#include <gexpl_usbfs_doepint.h>
#include <gofcl_usbfs_doepintf.h>
#include <gofcl_usbfs_ep_r.h>

static inline void
usbfs_clear_dev_out_int_flags(usbfs_ep_rre ep_rr,
			      usbfs_doepint_expl_s doepintf) {
	union {
		usbfs_doepint_expl_s e;
		usbfs_doepint_s d;
	} ed = {
		.e = doepintf,
	};
	usbfs_wreg_doepintf_s(ep_rr, ed.d);
}

static inline usbfs_doepint_expl_s
usbfs_get_dev_out_int_flags(usbfs_ep_rre ep_rr) {
	union {
		usbfs_doepint_expl_s e;
		usbfs_doepint_s d;
	} ed = {
		.d = usbfs_rreg_doepintf_s(ep_rr),
	};
	return ed.e;
}
